{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "f175e5c5-ad3c-4859-813d-4f8484ab9c65",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "🎯 语言模型预测任务示例\n",
      "============================================================\n",
      "原句: Hello world !\n",
      "Tokens: ['<bos>', 'Hello', 'world', '!', '<eos>']\n",
      "Token IDs: [1, 101, 102, 103, 2]\n",
      "\n",
      "📊 模型的预测任务:\n",
      "输入位置       输入Token    预测目标       说明                  \n",
      "------------------------------------------------------------\n",
      "0          <bos>      Hello      基于'<bos>'预测\n",
      "1          Hello      world      基于'<bos> Hello'预测\n",
      "2          world      !          基于'<bos> Hello world'预测\n",
      "3          !          <eos>      基于'<bos> Hello world !'预测\n",
      "\n",
      "🔍 张量维度分析:\n",
      "input_ids shape: torch.Size([2, 5]) = [batch=2, seq=5]\n",
      "logits shape: torch.Size([2, 5, 1000]) = [batch=2, seq=5, vocab=1000]\n",
      "prediction_logits shape: torch.Size([2, 4, 1000]) = [batch=2, seq=4, vocab=1000]\n",
      "labels shape: torch.Size([2, 4]) = [batch=2, seq=4]\n",
      "\n",
      "🎯 对齐关系:\n",
      "位置       输入Token      Logits预测        标签(真实)       预测任务                \n",
      "--------------------------------------------------------------------------------\n",
      "0        <bos>        logits[0]       Hello        用<bos>预测Hello       \n",
      "1        Hello        logits[1]       world        用Hello预测world       \n",
      "2        world        logits[2]       !            用world预测!           \n",
      "3        !            logits[3]       <eos>        用!预测<eos>           \n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "\n",
    "def explain_offset_alignment():\n",
    "    \"\"\"解释为什么logits和labels要错位\"\"\"\n",
    "    \n",
    "    # 假设我们有一个简单的句子\n",
    "    sentence = \"Hello world !\"\n",
    "    tokens = [\"<bos>\", \"Hello\", \"world\", \"!\", \"<eos>\"]\n",
    "    token_ids = [1, 101, 102, 103, 2]  # 假设的token ID\n",
    "    \n",
    "    print(\"🎯 语言模型预测任务示例\")\n",
    "    print(\"=\"*60)\n",
    "    print(f\"原句: {sentence}\")\n",
    "    print(f\"Tokens: {tokens}\")\n",
    "    print(f\"Token IDs: {token_ids}\")\n",
    "    \n",
    "    print(f\"\\n📊 模型的预测任务:\")\n",
    "    print(f\"{'输入位置':<10} {'输入Token':<10} {'预测目标':<10} {'说明':<20}\")\n",
    "    print(\"-\" * 60)\n",
    "    \n",
    "    for i in range(len(tokens) - 1):\n",
    "        input_context = \" \".join(tokens[:i+1])\n",
    "        target_token = tokens[i+1]\n",
    "        print(f\"{i:<10} {tokens[i]:<10} {target_token:<10} 基于'{input_context}'预测\")\n",
    "    \n",
    "    print(f\"\\n🔍 张量维度分析:\")\n",
    "    batch_size = 2\n",
    "    seq_len = len(token_ids)\n",
    "    vocab_size = 1000\n",
    "    \n",
    "    # 模拟输入数据\n",
    "    input_ids = torch.tensor([token_ids, token_ids])  # [batch, seq]\n",
    "    print(f\"input_ids shape: {input_ids.shape} = [batch={batch_size}, seq={seq_len}]\")\n",
    "    \n",
    "    # 模型输出logits\n",
    "    logits = torch.randn(batch_size, seq_len, vocab_size)\n",
    "    print(f\"logits shape: {logits.shape} = [batch={batch_size}, seq={seq_len}, vocab={vocab_size}]\")\n",
    "    \n",
    "    # 关键：为什么要 logits[:, :-1, :]\n",
    "    prediction_logits = logits[:, :-1, :]  # 去掉最后一个位置\n",
    "    print(f\"prediction_logits shape: {prediction_logits.shape} = [batch={batch_size}, seq={seq_len-1}, vocab={vocab_size}]\")\n",
    "    \n",
    "    # 关键：为什么要 input_ids[:, 1:]\n",
    "    labels = input_ids[:, 1:]  # 去掉第一个位置\n",
    "    print(f\"labels shape: {labels.shape} = [batch={batch_size}, seq={seq_len-1}]\")\n",
    "    \n",
    "    print(f\"\\n🎯 对齐关系:\")\n",
    "    print(f\"{'位置':<8} {'输入Token':<12} {'Logits预测':<15} {'标签(真实)':<12} {'预测任务':<20}\")\n",
    "    print(\"-\" * 80)\n",
    "    \n",
    "    for i in range(seq_len - 1):\n",
    "        input_token = tokens[i]\n",
    "        predicted_pos = f\"logits[{i}]\"\n",
    "        true_token = tokens[i + 1]\n",
    "        task = f\"用{input_token}预测{true_token}\"\n",
    "        print(f\"{i:<8} {input_token:<12} {predicted_pos:<15} {true_token:<12} {task:<20}\")\n",
    "\n",
    "# 运行解释\n",
    "explain_offset_alignment()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "fd705385-61f8-437b-aa61-efc788572fa5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABW0AAAMWCAYAAACKoqSLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAD+40lEQVR4nOzdd3iT9dfH8Xe6WygtlA2l7L2hLFmyFUSRocieCtGfihMXDhTFjaQgezlAQREEZCOI0rA3lD3KLLSlpTt5/qjkMZZR6EhSP6/r8rK5z507J2kOTU7ufI/BarVaERERERERERERERGn4OboBERERERERERERETk/6lpKyIiIiIiIiIiIuJE1LQVERERERERERERcSJq2oqIiIiIiIiIiIg4ETVtRURERERERERERJyImrYiIiIiIiIiIiIiTkRNWxEREREREREREREnoqatiIiIiIiIiIiIiBNR01ZERERERERERETEiahpKyIiIuIipk2bxvbt27FYLDeNT506lRUrVtz1ca1WK9OnTyc1NTWrKdrZsWMHe/fuxWq1Zsvx9uzZQ3x8/E1ju3fv5uDBg8TExGTLbcm9yann6A1JSUlMnTqVJUuWsH379ns+joiIiIizU9NWRERExAXExcXx5JNP0qpVK9asWZMhfu3aNV566SUeeOABnnjiCdLS0jJ97Dlz5jB06FAaNWrEzp07sy3ntLQ0GjRoQNmyZVm8eHGWjhUdHU3nzp1p2bIlFy9ezNAUfPbZZ6lWrRq9e/cmOTk5S7eVF1mtVnr06EHZsmVZuXJljtxGTj5Hb0hMTGT48OF07dqV8PDw7EhbRERExCmpaSsiIiLiAsLDw7FYLLRo0YL27dsTHR1tF//qq6+IiYmhRo0aXL9+nW3btmX62EePHqVq1ars3LmT++67j/Xr12dLzg0bNuT555/n1KlT9OzZk8TERLv4ihUrOH/+vO3yRx99xP3333/T/xo3bszp06fZvn073bt358033yQwMJDOnTuTkpJiO0arVq3w8vLKlvzv1aZNm2jdujXFihXDYDBgMBioUKECbdu2Zffu3Q7J6ciRIyxcuJCTJ08yZ86cHLmN7H6Ofvfddzz//PN8+umnXL16NUO8WrVqtp+PHDmC0Whk7NixbNmyJVvuj4iIiIgjqWkrIiIi4gJ+//13IL0puXDhQsqWLctvv/0GwPHjx3n//ffJnz8/P/74I1999RVdu3blgw8+ICkp6Y7Hfvfddzlw4ACRkZH079+fwYMH39WSBr1792bcuHGcPHkyQ8xoNOLj40OpUqXszo6NiIigZ8+eNGnShIiICABeeeUV1q1bx7p16+jbty/r169n/fr1fPTRRxw6dAir1YrVamXjxo24ubkRExNDo0aN8PT0zHSuuaF58+asX7+ekSNH2raFhYWxZs0aateu7ZCcKlWqxMiRI2nUqBFGozFD/NVXX8VgMLBhw4Z7vo3sfo5u376dL774gv3791OwYMHb3nZUVBRhYWG8+eabNGjQ4J7vg4iIiIiz8HB0AiIiIiJya3/++SevvfYaW7duBWDRokX4+flRr149Jk2aRPPmzRk8eDBubm4sWbKEqlWrEh8fz5dffsnjjz/OF198wZAhQ3jyyScpW7bsbW+rePHilChRguPHj2M2m2nUqFGmcjx48CDff/89U6dOJSQkJEO8SZMmAHTu3BlIXzbBzc2Nhg0bAjB79mzGjh1rdx2z2QxA3bp1bXncaNq6uem8g3thMpluGbvRXL0XOf0cvdvft4eH3uKIiIiI69MrGhEREREn1rRpU3777TcKFSpEvnz5+PXXXylcuLAtPnLkSE6cOMHatWsJDQ0lKSmJdu3aUbt2bV5//XXef/99PvzwQ1atWkV4ePgdG2BLly4F4Jdffsl00/aGIUOG8Prrr992n2vXrtG7d2/Kli3LV199hcFguOl+mzZtAmDEiBEAWCwWhg0bRnJyMrNmzbqrvOT2Lly4wK5du+75+rn9HBURERH5L1DTVkRERMTJbdy4kfj4eFq0aEGRIkWoX78+a9asYdy4cbi5uTFt2jRefvll2/4+Pj4cPnyYfv36ERwczGuvvcaKFSvu2Ay7ePGi7WzJxYsXZzj7NTNOnjzJwIEDbxnftWuXbX1SLy8vPvvsswz7HDhwgH379uHt7c28efP47rvvSExM5K+//gIgJSWFChUq3FVeu3btYtSoUaxduxaAwMBAmjdvzgcffECtWrV47bXXWLZsGefOnaNZs2b89NNPQPpZpO+//z4REREULlyYxMREOnfuzNNPP03RokXvKofM2L17N2PHjuXIkSN4e3vj5uZG586defHFFzOs1RsZGcnYsWPZuHEj/v7+xMfHU6tWLd577z1OnDjB1KlTue+++3jqqacwm82sWbOG1atXU7NmTb766iuSkpIYMmQIu3btsi2H8dxzzxEYGEj16tVtZ+bu37+fd999lx07dhAUFERiYiItW7bkueees50Zm1vPUREREZH/CjVtRURERJzcjbNfO3fuzMaNG+natSuJiYm0adOGMmXKUK1aNdq2bcv8+fPp0KGD3fqffn5+/PDDD5lqhi1btszWvNu7dy/79u2jRo0ad5VrSEgI69atIyYmhmHDhnHu3Dlat27N8OHD+fzzz9m0aRNdunThueeeo23btjc9xvz58wF4++23efXVVwFYt24dbdq0AeDJJ5+0NV8zq06dOqxevZpy5cpx8uRJvL29+fnnn3F3dwfggw8+oHDhwgQFBTFgwADbbbZv354hQ4bw448/4uPjQ1RUFMWLF8fb2/uOZxXfrUmTJvHss88SGhrKH3/8ga+vL7/++isPP/ww8+bNY/369bZG8ZUrV2jSpAmnT59m8eLFdO3alRMnTlCnTh2+/fZbHnroIUqVKkXJkiX5+eefWbRoEd9++y2ArdF6oyk+e/ZsW6P9iy++oFWrVracDhw4QKNGjWjdujVbt27F39+f5ORkypQpQ3x8PFOnTgVy5jn6zwFzIiIiIv81+ihbRERExMn99NNPGAwG25qwqampTJkyhSNHjlC9enX69evHO++8w+OPP06LFi2YOnUqXbt2Ze/evbzwwgs89NBDxMbG3vF25syZY3d5zJgxmcrvZkPLAgICmDt3LrVr12bs2LGUKVMGHx8fzp49y5IlS27ZsE1KSmLKlCmUL1+eF154wbZ9xYoVANSuXZv7778/U3n9m8FgYPDgwUD6kgBr1qyxiy9btoxHH33Udnn8+PGkpaXRpk0bfHx8AAgKCuK+++67p9u/nX379vHcc8+RkpLCRx99hK+vL5DeBO3QoQMHDhywG2w2a9YsTp8+TdmyZenatSuQ3ox95JFHsFqteHh4EBYWRrdu3ejevTvffPPNPeU1YcIE2xm0/v7+QPoZ0p06dbLbL7ufo8nJyaxfvx5IP+v7/vvv5/7776dLly62fZ577jnb9n8+NiIiIiJ5gZq2IiIiIk7sk08+4eTJk3h6evLUU08BMHHiRMaMGWP7unm7du1sDdZatWpx/fp1lixZQs2aNYH0JtudhpBt3ryZdevWAfDEE09QpUoVFi5cyLZt2+6YY1JSEpBxAJS3tzcmk4lBgwYBcN9999nOFLVYLDzzzDNs377d7jqzZ88mLS2N0qVLU7NmTRYsWADA8uXLAXjsscfumM/tDBo0yHZG57x582zbz549S/HixW2NyRvbAD7++GNOnjxp2z5nzhxb8ze7fPjhhyQnJ+Pv70+zZs3sYjcapAsXLmT//v0AnDp1CoASJUrY7VuyZEkADh06lC153XgMvv76a/bu3Wvb/tFHH/HGG28AOfMc9fLyYsuWLbz33nt8++23rFu3jnXr1tnO6IX0s4JvbJ81axYtW7bklVdeyZb7LSIiIuJoatqKiIiIOLHnn3+eUaNG8cEHH9C7d28g/QxDq9VKWFhYtt3OjfVrfX19+fDDD+nZsycAr7322h2ve+3aNSD9jNsbZz7+87/Dhw9TqFAhPv74Y9u2evXqMXHiRDp06MC+fftsx5kxYwYbNmxg5syZRERE8Pjjj7NgwQL27NmDwWDIctM2ODiY9u3bA+lnh16/fh2ARYsW0adPH7t927VrB8C2bduoUKECHTp0YMaMGRQpUiRDszSrdu7cCUDx4sUzLBNwoxH7z/2aNm0KwOnTp+32vdFcrlq1arbkdeMxOH78OLVq1eK+++7jyy+/xNvbm5CQECBnnqNLly7lvffeo1ChQplaoqNWrVpMmTKFfPnyZWgwi4iIiLgiNW1FREREnJi7uzuffvqp3VIB//bhhx/e85IBANu3b7edyfryyy8THBxMr169AFi5ciWff/75ba9/o2lbvHhx25mP/zwD8o8//uDKlSt8+eWXtu0PPfQQAMWKFSMmJgaAsLAw5s2bR9WqVSlfvjyhoaHkz5+fiRMnAtC3b9+7HkB2M0OGDAEgLi6OxYsXA7Bp0yZbM/eG9957z9a8TktLY9WqVQwZMoSKFStiNpuznMc/HTt2DIACBQpkiAUEBGTY75FHHqFnz56cOXOG6dOnA+nN5Z9//pl8+fLxzjvvZEteRqMRo9FoayRv3rzZNoBs2bJlQM48R7dt28b777/PkiVLMt0gP3HiBG+99RYvvfQSlSpVyvRtiYiIiDgjNW1FREREXIDFYrE1N//8808+//xz21mVr776qm1pg3s57o1mW7t27XjzzTeB9DMXbwykevHFF1m0aNEtjxEXFwdk/uxOq9XK999/T8OGDfn9999tywEMGDCAihUr2vZbv349a9asYcuWLeTPn58PP/zw7u/gTTz88MMULlwYgG+++YaLFy9SunTpDMs75MuXjwULFrB3715eeukl2xmvkZGRPPHEE1nOIyIigl27dgFQrlw5ANvv+J+io6NtP5cvXx5IX3piwIAB9OvXjw0bNtCyZUuef/55hg4dyv79++96gNytuLu7M3HiRI4ePcrbb79t+/3ExMTQp08f2+8ecuY5+u/fSWZz9vb2vuvriYiIiDgTNW1FREREnNhff/1F9erVyZcvH6+//jqQfnbq008/bft6elbOtB0/fjzr16+nUqVKLFiwAHd3d1vsxtIIFouFvn37snnz5gzXv379OhaLBYPBkOlG4dq1a2nTpg2///47QUFBtu3Fixe328/X15cZM2aQnJzMG2+8YbdMwA358uXL1G3+k5eXF3379gXgt99+Y8qUKTdtwk6ePJmTJ09So0YNxo8fz8mTJxkwYAAAR44cISoq6q5v+58++eQTZs2aBaQ3yQHOnz+PxWKx2y8yMtL28439Tp06Rc+ePZkwYQJz5szh999/5/fff2fChAmUKVMmS3n907fffsuePXsoW7YsY8aM4fDhw7a1bKOjozl06FCOP0dFRERE/ovUtBURERFxYg0bNuT69eskJibahmSVL18eT09P2z73ehaj2WzmrbfeIjg4mKVLl1KwYEG7eIcOHWxrpyYkJHD//ffz7rvvkpKSYtvnxkCshg0b2g3xup3GjRszZcoUfH19b7vfTz/9xOTJk2nTpg2jRo2yi/Xp04fdu3ff9iv5t3NjiYTU1FR+/PFHGjRokGGf0aNH251h7OHhwdNPPw1AYGAghQoVuqfbvmHTpk22n1955RXc3d2Ji4vjjz/+sNtvxYoVADz00EO2pu2yZctISEjg888/Z9euXRw6dIhDhw5x4sQJkpOT7yqPfy6/cGOo3A0ff/wx06ZNs102GAz873//s/1cvnz5HH2OioiIiPxXqWkrIiIi4sQ8PDx44YUXmDBhgm1Y2J1UqFCBt99++7b7REdH88QTT1C7dm22bNlC5cqVb7rfzJkzbc3V5ORkxowZQ4MGDdi2bRuAbW3X559/PpP3CPLnz3/HfSIiIhg4cCChoaEsWrTIrgEI6Usx1KpVC4PBAKQvuXA3atasSaNGjQBs6/fezMaNG20/W61WfvnlFwDefPNN223fi6ioKA4cOGC7XLduXT744APc3Nx45ZVXSEhIANIHcq1atYqKFStiMpls+5ctWxaAd999l7p161K1alWqVq1KuXLl8PHxoVmzZjc9M/pm6tevb3t8N2zYAKQPNEtMTATgjz/+sDv798Zj8PTTT1OwYMEce46KiIiI/Jfd/SJRIiIiIpKrnnnmGQC7pt0/JSUlcejQIdvlLl26UK1aNc6fP3/Tr/BfvHiRjh07Urt2bebMmXPbJQaqVKnC+PHjbTkA1KtXz9bE27x5M8HBwbaBXZB+Vu6hQ4cICAjg9OnTtu3/brzeyqlTp3jkkUdo164dc+fOxc/P76b7LVmyhKVLl3LlyhW2b98OcMezd/9p6NChmM1m+vTpc9P4L7/8wqRJk2jUqBF+fn4kJCSQP39+Fi1aRLdu3W553D///JMxY8awd+9e27ZXX32VTz75xHY5Ojo6Q6P55ZdfpkWLFnz00Uc0a9YMHx8fIP2M39dee83uvnXq1Im33nqLL774gri4OLumqtVq5c8//6RLly4cOnSIPXv22Ia5AaxevZp+/foxe/Zs3NzcKFOmDDNmzODtt9/m888/59ChQzRv3pxnnnmGmTNnEhYWRpMmTfDz8yMpKQk3NzdmzpxJv379bMfMzudoWloaP/74o+2x/OeyCqmpqbafn3vuOQIDA22Xr1y5ctPbFhEREXFFatqKiIiIuDir1crHH38MQKVKlQA4evQoRqORI0eO2M7KhPSG6LBhwxgzZgyPPPJIpo7/9NNPExUVxdtvv82rr77KuHHjgPTm7MKFC1mwYIHdwChfX1+8vb0ZO3YsM2bMANLPrs3MWqurV6/m2Wef5fXXX7/jsK+HHnqI1q1bU7duXa5duwZgG2qWGcOGDWPYsGG3jLdo0YIWLVpk+ng3NG3alJUrV9719W5c9+eff77jfr/++iuLFy/mwoULtuYupDdHly5dSo8ePbh69Sp//vknXbt2pU2bNrc9Xt++fW3r/P5T3bp1mTJlyl3fj3+7m+eou7s7s2bN4rHHHqNjx463bAT/22+//UanTp2ynKuIiIiIM1DTVkRERMSFlC1b1m791bJly9KwYUPq1KnD2bNn6d+/P5C+Hu2rr77Ks88+axscBelff//555/v6oxUgDFjxlCiRAm7s1J/+uknJk2aROvWrTPsX61aNb7++msWLVpE6dKlGTdu3B2XRfjjjz84cuQIZrP5lmfX/pu/vz9PPvkkO3bsYNCgQTRs2PCu7pcrSklJoX///vTt29euYQvg7e1N9+7dqV69Ovv376d06dK5nl9Wn6MADRo0YPv27bZlIjIrMDCQ9u3bZ/1OiIiIiDiYwXq3C4DlsqSkJNzd3e3O3hARERGR9LMXb7euamJiIp6enri7uzvk9iH96+x6HZe9rl69SqFChRg4cCAzZ87MEL9+/TolSpSgfPnybNu2DTc3x42xcPRzVERERMRVOW3T9ssvv+TgwYPMnj2bVatWcd9999123wsXLpCQkECTJk147LHHcjFTEREREZHc1bZtW/7880+WL19Oq1atbNsPHz7MM888w5kzZ1i9ejUlSpRwYJYiIiIicq+ctml77do1/P39MRgMbNq06ZZN2/nz57N69WqmTp2K1WqlY8eOvPPOOzRt2jSXMxYRERERyR3R0dF88cUX/PTTT+TLlw8fHx98fHzw9PSkd+/e9OrVy6Fn2IqIiIhI1jht0/aGOzVtGzduzBdffGFr0s6bN49ff/2V7777LjfTFBEREREREREREckWLv3xe3x8POHh4XYDJxo1asTatWsdmJWIiIiIiIiIiIjIvXPpqRCRkZEUKFAAT09P27agoCAuXbpEcnIyXl5eN71eUlISSUlJtssWi4UrV64QFBR0x2EaIiIiIiIiIiIiIvfCarVy7do1SpYsedvlrFy6aXv58mX8/f3ttgUEBGC1Wrly5QrFixe/6fXGjRvHO++8kxspioiIiIiIiIiIiNg5ffo0pUuXvmXcpZu2hQsX5tq1a3bbYmJiMBgMFCpU6JbXGz16NKNGjbK7TpkyZTh58iQFChTIsXwl+1gsFi5fvkzhwoU1ZEMkB6nWRHKHak0kd6jWRHKHak1E5NZiY2MJCQnJcCLqv7l007ZUqVLExsaSkpJiWyIhKiqKIkWK3HJpBABvb2+8vb0zbA8MDFTT1kVYLBaSk5MJDAzUiwCRHKRaE8kdqjWR3KFaE8kdqjURkVu78e/inZZodel/Pf38/GjcuDFbt261bQsPD6dNmzYOzEpERERERERERETk3rlc03bo0KFMnTrVdvm5555j9uzZtsvffPMNzzzzjCNSExEREREREREREckyp10e4dNPPyUiIgKAjz76iNDQUF577TUOHTpEiRIlbPs9/vjjnD9/nrfffpuEhAQGDBhAs2bNHJW2iIiIiIiIiIiISJYYrFar1dFJOFpsbCwBAQHExMRoTVsXYbFYuHjxIkWLFtUaSSI5SLUmkjtUayK5Q7UmkjtUayIit5bZPqT+9RQRERERERERERFxImraioiIiIiIiIiIiDgRNW1FREREREREREREnIiatiIiIiIiIiIiIiJORE1bERERERERERERESeipq2IiIiIiIiIiIiIE1HTVkRERERERERERMSJqGkrIiIiIiIiIiIi4kTUtBURERERERERERFxImraioiIiIiIiIiIiDgRNW1FREREREREREREnIiatiIiIiIiIiIiIiJORE1bERERERERERERESeipq2IiIiIiIiIiIiIE1HTVkRERERERERERMSJqGkrIiIiIiIiIiIi4kTUtBURERERERERERFxImraioiIiIiIiIiIiDgRNW1FREREREREREREnIiatiIiIiIiIiIiIiJORE1bERERERERERERESeipq2IiIiIiIiIiIiIE1HTVkRERERERERERMSJqGkrIiIiIiIiIiIi4kTUtBURERERERERERFxImraioiIiIiIiIiIiDgRNW1FREREREREREREnIiatiIiIiIiIiIiIiJORE1bERERERERERERESeipq2IiIiIiIiIiIiIE1HTVkRERERERERERMSJqGkrIiIiIiIiIiIi4kTUtBURERERERERERFxImraioiIiIiIiIiIiDgRNW1FREREREREREREnIiatiIiIiIiIiIiIiJORE1bERERERERERERESeipq2IiIiIiIiIiIiIE1HTVkRERERERERERMSJqGkrIiIiIiIiIiIi4kTUtBURERERERERERFxImraioiIiIiIiIiIiDgRNW1FREREREREREREnIiatiIiIiIiIiIiIiJORE1bERERERERERERESeipq2IiIiIiIiIiIiIE1HTVkRERERERERERMSJqGkrIiIiIiIiIiIi4kTUtBURERERERERERFxImraioiIiIiIiIiIiDgRNW1FREREREREREREnIiatiIiIiIiIiIiIiJORE1bERERERERERERESfi4egEbsVqtTJmzBgMBgOXLl2iV69etG7d+qb77t27l1q1atltq1q1KgcOHMiFTEVERERERERERESyj9M2bcePH4+3tzevv/46SUlJNGvWjEWLFhESEpJh3+joaH766Sfat29v22YwGHIzXREREREREREREZFs4ZTLI6SmpjJx4kQGDhwIgLe3N926dWPy5Mk33T86OpqSJUuSL18+239+fn65mLGIiIiIiIiIiIhI9nDKpu2hQ4ewWq2UKlXKtq1Ro0asXbv2pvtHR0dTsGDB3ErPpSQnJzs6BREREREREREREbkLTrk8QmRkJEFBQXbbgoKCOHv27E33j46OZuLEiVitVi5fvky7du0YNGjQLZdISEpKIikpyXY5NjYWAIvFgsViyaZ7kfsuX75MQkKC3TaTycSHH37ooIxyTpMmFoKCrBw4YMGFf2XyH1esGGzZ4ugsbk+1JnmBak0kd6jWRHKHak0kd7hCrYlrymzv0SmbtpcvX8bf399uW0BAAJcvX77p/oMHDwbAz8+PK1eu0LlzZ06cOMG777570/3HjRvHO++8k2H7pUuXSExMzGL2uW/ZsmWMHj36lo/PqFGjcjmjnFe4sIWCBWMoVsyK1eqUJ4yL3FGhQnDxoqOzuD3VmuQFqjWR3KFaE8kdqjWR3OEKtSau6dq1a5naz2C1Wq05nMtdW7VqFS+++CK7du2ybdu2bRsPP/wwZ86cueP1ly1bRu/evYmJiblp/GZn2gYHB3P16lUKFCiQ9TuQy0qVKkVycjLVq1fH09PTLnb8+HGOHj3qoMxyTvnyFooVu8TOnYUpEHTn/UWcSfQlNywWA6VKwYkTjs7m9lRr4spUayK5Q7UmkjtUayK5w5VqTVxTbGwsBQsWJCYm5rZ9SKc807ZUqVJERUXZbYuKirJb4/Z2ypUrR2xsLNHR0QQGBmaIe3t74+3tnWG7m5sbbm6u9ylg/vz5WblyJeXKlcsQW7hwoUvepzuxWMBqNVAgCL5ed/MzjEWc1bBWRblywQ2LBZy9PFVr4spUayK5Q7UmkjtUayK5w5VqTVxTZvt0Tvn0q1y5MgaDgcjISNu28PBw2rRpk2HfmJgYZsyYYbft3LlzFCpU6KYN27yof//+tzwDuWbNmrmcjYiIiIiIiIiIiGSFU55p6+HhgdFoZM6cObz66qskJyezePFifvjhBwCGDh1K48aNGTZsGFarlVGjRtGtWzcKFiwIwNdff83zzz/vyLuQq0qVKsUbb7xBp06dMsTWrVvHypUrHZCViIiIiIiIiIiI3AunbNoCvPLKK7z11lu8//77XLx4kfHjx1O2bFkADh06RIkSJQAIDAxk4cKFfPzxxwQEBHDy5EkaN27Ms88+68Dsc9f06dP5888/2bRpk912q9WKwWBwUFYiIiIiIiIiIiJyL5y2aWswGHjvvfduGtu4caPd5bZt29K2bdvcSMspPfjgg1SuXDnDmrZWq5X169c7JikRERERERERERG5J07btJXM69GjB76+vpQpUyZDrEOHDg7ISERERERERERERO6VUw4ik7tTpUoVLBYLkyZNsq37C3D48GGaNm3qwMxERERERERERETkbqlpmwesXbuW6tWr8/TTTzN58mTb9vDwcC2PICIiIiIiIiIi4mLUtM0Dxo4dy+uvv87ChQsJCgqybe/evTufffaZAzMTERERERERERGRu6U1bfOAmjVr8vrrrwOwa9cu23ar1crmzZsdlZaIiIiIiIiIiIjcA51pmwfExsaSlJQEgJtb+q80NTWVF198kWLFijkyNREREREREREREblLOtM2D6hbty7BwcG0aNGCEydOsG3bNrZt20ZkZCRjx451dHoiIiIiIiIiIiJyF9S0zQOeffZZzp49yxdffEFaWho7duzAYDAwdOhQXn75ZUenJyIiIiIiIiIiIndBTds8wGAw8PHHH/PCCy+wc+dOLBYLtWrVIjg4GKvV6uj0RERERERERERE5C5oTds8YMmSJQAUL16cTp068eCDDxIcHAyg5RFERERERERERERcjJq2ecDy5cszbDt79izPPPMM48aNc0BGIiIiIiIiIiIicq/UtM0DVqxYwbx58wA4ffo0RqORihUrYjKZKFiwoIOzExERERERERERkbuhpm0eMGLECAC6d+9OpUqVmDRpEiVKlGDSpEkcP37cwdmJiIiIiIiIiIjI3dAgsjzgpZdeAiB//vyYzWY++OADevfujbu7O9u3b6d+/foOzlBEREREREREREQyS01bF/TJJ5+QkpJy01iNGjXYtm0bp0+fBmD16tWsWbMmN9MTERERERERERGRLFDT1gXNmDGDQ4cO2S5brVYADAYDVquV3377zfazwWBwVJoiIiIiIiIiIiJyD9S0dUH169fn8ccfz9S+OstWRERERERERETEtahp64IGDBhA+/btM7Vvq1atcjgbERERERERERERyU5q2rqgWzVst27dyrZt2wCoW7cujRs3VtNWAIi/Fsv6nxZwdN9uvLx9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8RCIuIxKdeqzbf0aylXTN0BE7kaVeg0BqFCzNh5e3vw0dSLPdm5N2Wo1aP7gw3R6YiAAjww14ucfwHdfjqdctZoc37+Xp9792PZ+rtkDXdn068+cPnKIq5cukhAfx2uT59iOLSKuxWC9sXDKf1hsbCwBAQHExMRQoIBrvPGtU6cOTZo0ueN+GzduZP/+/bmQUe4qU8ZC8eIXOX4miK/XXXZ0OiJ3ZViroly54E6pUnDmjKOzuT3Vmrgy1ZpI7lCtieQO1ZpI7nClWhPXlNk+pM60dVF79uxhz549d9xPQ2pERERERERERERci5q2LqpTp048/vjjt93HarUyZ86cXMpIREREREREREREsoOati6qVq1a9O/f/477RUVF5UI2IiIiIiIiIiIikl3uPMlKnNKePXvYvn07FovltvuNGjUqlzISERERERERERGR7KCmrYs6ePAgPXr0oE6dOsTFxTk6HREREREREREREckmWh7BRR07duyO+1gsFtasWUP79u1zISMRERERERERERHJDjrTNg/79NNPGThwIPHx8Y5ORURERERERERERDJJTds8at++fYwZM4bz589Tt25dEhISHJ2SiIiIiIiIiIiIZIKatnnQH3/8QevWrUlMTMTT05MJEybg6+vr6LREREREREREREQkE9S0zUMsFguTJk2iffv2REVFUaNGDf766y8eeOABR6cmIiIiIiIiIiIimaSmbR6QmprK/PnzqVatGkajkaZNm/L999+zY8cO6tat6+j0RERERERERERE5C54ODoBuXc//PADixYtYsWKFcTGxtKhQwd+/fVXKlas6OjURERERERERERE5B7pTFsX1a9fP2bNmsX+/fuJiYnBarWyatUqxo0bx6VLlxydnoiIiIiIiIiIiNwjNW1d0LfffsuCBQuYP38+u3bt4uTJk3z55ZeUK1eOmTNn0qBBA3bs2OHoNEVEREREREREROQeqGnrgs6fP0+jRo3Inz8/AMHBwTzzzDMcOnSIuXPnki9fPpo3b86aNWscnKmIiIiIiIiIiIjcLa1p64JGjRrF//73vwzb3dzc6NOnD7169eK1116jZ8+ebNq0ierVqzsgSxGR/54/Ti1m3fEf8HL3Jp9nAPm9AsjnFYiXuzcpacl0qNgPf++Cjk5TxOVtObOc1Ue/xcPNk/xeAeT3CiSfVyCebt6k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REREXI46MC7u4MGDNGnShIULF/Lpp59SunTpDPv4+PjQpUsXHnjgAQdkKK6sFsUZRydHpyGS51WlqGpNJBdUIEi1JpILQiioWhMREckiNW1d3Keffkrt2rVp2LAhVapUuek+x44d49FHHyU2NhZPT529JSIiIiIiIiIi4szUtHVh3377LXv37qVv375cvXqVatWqERkZicFgsO1TpEgRunfvzrvvvquGrYiIiIiIiIiIiAtQ09ZFvfbaa/j5+bFp0yZ69OhBs2bNSE1NxWAw2DVto6KiaNKkCd7eWkdKRERERERERETEFahp64LCw8P58MMPefTRR0lNTeWTTz7hyJEjTJw4kcTERDw8PLBarRgMBqxWK/Pnz6dv3768/vrrjk5dRERERERERERE7sDN0QnI3WvQoAGTJ0/mzz//pF27dkRHRxMYGIi3tzeTJk3C39+fiRMnkj9/fiZOnMgTTzyB1Wp1dNoiIiIiIiIiIiKSCWrauiB3d3eGDx/OkSNHaN26NR9//DG1a9fGw8ODbdu2ce3aNbZt20ZcXBzbtm0jMTGREiVKODptERERERERERERyQQtj+DCfH19CQkJoU6dOqxZs4bAwEDmzZtHSEgIy5cvJyQkhHXr1gGwbds2hgwZ4uCMRURERERERERE5E7UtHVhM2fO5MknnyQ5OZlTp07xzTff8PTTT7Nw4UJ++OEHOnfujJ+fn6PTFBERERERERERkbugpq2L+uKLL3jkkUeoXr06J06coFevXgQGBnLu3Dnatm3LpUuXGDt2LIULFwagfPnyTJ061cFZi4iIiIiIiIiIyJ1oTVsXdOjQIUaNGkWFChU4dOgQw4YNw9fXlzZt2lCvXj3bkgl79uzh0qVLhISEODplERERERERERERySSdaeuCqlSpwuXLl/njjz94/vnn8fb2ZsuWLWzevJmQkBC2bt1KUFAQy5cv59q1a0ycOFHLJOQBa48c4btdu9h17hx96tbl2ebNs+W4r61YwYrDh1k7bBiBvr73dIwP16/nw/Xr6V2nDk3LlKF/gwa33T8yNpbPN27kj5Mn2X/xItFvv31PtyuSE/JKrb29ahW7zp1j3bFjLB04kOZly95j5iI5I6/UGsD15GTeWbOG7WfPYj5zht3PPUeZwMB7um2R7JaXak2vIUVE5L9ETVsXVahQIR566CG2bt3KO++8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uUO1JiIi4hzUtHVRDRs25NKlS5w/f57Lly/TqlUrDAbDLfdX0/a/qXWFCrSuUMHRaYjkeao1kdyhWhPJHao1ERERx1PT1kV16dKFyMhIvL29KV++PJUqVSIkJOSm+0ZERORydiIiIiIiIiIiInKv1LR1UZ999pnd5f/9738Yjcab7jt//vzcSElERERERERERESygZujE5DskZKSwpkzZ24aa9++PYsXL2b37t25nJWIiIiIiIiIiIjcLTVt84iNGzdy5coVDh06xPHjx23bz58/T7Vq1Xj00UepV68eAwcOxGq1OjBTERERERERERERuR01bfOITp060bJlS6pXr07FihXp1KkTSUlJzJkzh0uXLvHSSy+xfft28ufPz6xZsxydroiIiIiIiIiIiNyC1rTNI+bNm0evXr2oV68eFy5cYN26dUycOJETJ05gMBgYM2YMvr6+TJw4kUGDBjFo0CBHpywiIiIiIiIiIiI3oaZtHtG6dWveeecd2+W3336b999/n9TUVAB8fX1tMX9//1zPT0RERERERERERDJHyyPkEQcOHODcuXMApKamsmnTJuLj40lNTcVgMNjte+LECQdkKCIiIiIiIiIiIpmhpm0eUbZsWYKDgylRogT+/v60bt2amJgY/vjjDwoXLsyGDRtITExkxYoVREVFOTpdERERERERERERuQUtj5BHjB07Fh8fH3799Vdq1KjB8OHDad++PXFxcQwYMIBVq1bRsWNHfHx8WLRokaPTFRERERERERERkVtQ0zaP8PLy4t133+Xdd9+12z579mwA2rRpw2uvvYanpyeenp6OSFFEREREREREREQyQcsj5CE7d+6kS5culChRghIlSvDggw9iNpttcT8/PzVsRUREREREREREnJzOtM0jwsPDad68OampqbZtK1asYNWqVWzYsIFmzZo5MDsRERERERERERHJLJ1pm0e8++67jB8/nuPHj5OUlERSUhLHjx/nk08+4b333nN0eiIiIiIiIiIiIpJJOtM2j6hVqxbPPfec3baQkBCeffZZLl++7JikRERERERERERE5K7pTNs84vTp0yQlJWXYnpSUxIkTJ3I/IREREREREREREbknOtM2jwgJCaFChQp07NiRkiVLAhAZGclvv/1G7969HZydiIiIiIiIiIiIZJaatnnEmDFjOHjwIDNnzrTb/uCD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snv3bsuFCxes20qVKmX9/woVKmT4/8WKFUtzvJdfftmye/dui8VisZw6dcry7LPPWsxmc/acBOAAbNFr8fHxlvj4eMtPP/1kcXFxydb6AUdhi14LCwuzFCxY0BIXF2exWCyWy5cvW/Lly2f5/fffs+08AKOzRa9du3bN4unpae21n3/+2ZI3b17LpUuXsu9EAIOz1eu1O3777TdLjRo1LB9++OFD1w4Ajo4rbWFXb731lurVq6cjR44oNDTUuv7GjRtyd3eXi4uLDh48qNKlS+u3336TyWRStWrV9N5770mSYmNjtX79elWuXFklSpSQm5ubJOmjjz7S3r17lS9fPh09elStW7fW8ePHrcdv2LChhg4dqiZNmtj2hAE7sUWv3bFz5041bNhQSUlJtj1JwABs0WsnTpzQqlWrNGLECOvxX3jhBXXu3Fn9+vWz7QkDdmKLXrt586Z27typVq1aSUq94rBQoUJaunSpdR3wqLPl35Bms1mTJk1SYmKiJHGlLYDHHqEt7ObGjRsqUaKE5s2bpw4dOigpKUm5cuVKM+by5cvy8PCQm5ubDh8+nOGL0b1796py5crKmzevdd0ff/yhp59+Wjt37tRnn32mvXv3atmyZdbtI0aMUEpKiiZNmpRzJwgYhK167Q5CWzyubN1r/1S+fHl98MEHevPNN7P3pAADslevJSQkyN3dXb/++quee+657D8xwGBs3WuLFi1So0aNtHDhQkmEtgDgYu8C8PiaNWuWihYtKi8vL0nS4sWL1aZNGxUsWNA65r333lOuXLn05ZdfqlKlStqxY4csFos2bNigKlWqKDY2Vn369NHSpUslScnJyfruu++0adMm6x8FYWFh1se4w8vLS7///ruNzhSwL1v1GvC4s1ev/fnnn4qKilJQUFDOnyRgAPboNYvFolGjRqlTp04Etnhs2LLXwsLCZLFYVKxYMdueJAAYmJO9C8Dj6cqVK/Lx8VGtWrWs6+rUqaMhQ4akGRcaGqrevXunWWc2m9WtWzcdP35cFy9e1IgRI3Ts2DEdO3ZMp06d0gcffKDw8HDr+IiICLm7u6c5hqenpyIiInLgzABjsWWvAY8ze/WaxWLR4MGDtXTpUutHToFHmT16bcGCBWrQoIEuXLigKVOm5MyJAQZj615bvHixOnfunHMnBAAOiCttYRfnz59X7969FRISYl1X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p0+f1ptvvmldt2LFCvXv31+TJ0/WqVOn1LhxY/n4+Gjjxo0qV66cdVzTpk3VtGlT63JKSorGjBmj7777TpJUunRpVaxYUe3atZPJZNL333+vYsWKSRKBLQAAQDYhtAUAAACyYN++fQoMDLSGpgcOHFBCQoJ127fffptm/J35aJcsWaKkpCR99NFHevnll1WjRo10x65YsaIKFiyojh07aubMmfL29lZSUpK6du2qmzdvytPTU4sXL840sN2wYYOmTZuWZp2bm5u++uor6xzBefPmVeHChdWgQQNdv35dBQoUUFJSkvr06aMtW7akC1xTUlL07bffaty4cTp//rzatm2rTp06qUmTJnJyclJCQoKGDx+u6dOnq2LFilq9enWaq4kBAADw4AhtAQAAkCPMZrOWLFmiH3/8UbGxsQoNDZWHh4e6d++u/v37Z3pVZlJSklasWKHdu3dr/fr1ypUrlxo2bKgpU6ZYr2y9w2Kx6Msvv9Q333wjs9msmzdvytvbW8OGDdNLL72UpTqTkpI0b948LVq0SImJiXJzc5Obm5t69Oihtm3bWoPSQoUKqV27dpo3b54KFiyovXv3SpJ8fX21dOnSdMd98cUX9dNPP2nw4MFZmkZixIgR6ty5s8qUKaMhQ4Zo//792rx5s4oVK6aNGzeqVKlSme77yiuv6JVXXkm3fvny5darbU+dOqWyZctm5VuipKQkVapUSSdPntQLL7ygt99+Wy4uLtq+fbu2bNmixMRE7d69W4cPH5YkeXh4aPv27YS2AAAA2eTen60CAAAAHkDv3r3VtWtXdenSRWvXrtXhw4cVFxenwYMHa/bs2Znu99tvv6lOnTqaPXu2jh49qpIlS+qLL75QYGCgYmNjreOSkpLUuHFj9ezZUx988IG2b9+uffv2ycXFRQ0bNtSCBQuyVGfPnj317rvvavLkyTp06JD27dunVq1aqX379rp8+bJ1XEBAgF577TXVrFlTly5dsoa2DRs21JUrV9LU9iBcXFz01VdfqV69eho9erS+//57SVKnTp1069athz7+/ciVK5eaNm0qi8Wi/fv3a+HChTpw4IBiY2O1efNmzZ07V4cPH1bVqlW1Zs0a7du3T3369LFZfQAAAI86QlsAAABku9OnT+uLL76QJJUvX15S6s3MmjVrJkl3DVQrVaokf39/Sakf8Z81a5Yk6fjx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jx+vKlWqSJLatm2rM2fOSJIsFou2b9+utWvXZumj+haLxVq3JN24cUM///yzChYsqL59+1rXb9q0SV9++aW+++47eXt7K3/+/OrXr58kqUmTJumOazab7/nYknTq1Cnt379fHh4e6tChQ5b2uZu///5br7zyipycnLRgwQK99tpr1m0jRoxQQECA1q1bpwoVKqhXr1769ddf09WalJSkN998UxEREapdu7b27NmjatWqZfh4AwcO1MiRIxUfH68ePXpo69atD30OAAAAjztCWwAAANxTdHS0WrRooV69elnXffPNN2rUqFGar8OHD0uSOnfurPfff19+fn5q06aNevXqpSNHjmjz5s167bXX5Onpqfbt22vjxo3at2+f9QpaSerdu7fWr1+vrl27qkKFCoqIiNCYMWO0YcMG65QIkpQ/f36FhITo008/la+vr6pXr64aNWqoZcuWOnfunCZNmiQp9WZhr7/+uq5cuSIpNTxu3769Tp06pUaNGmnevHn69NNPVbt2bdWrV08vvfSSAgMDFRISoieeeEKSdObMGU2aNEm//vqrXnjhBWsNEydO1NGjR9WsWTOFh4frs88+U/369fX0009rz549klKvNs5McnKyBg0aJIvFosmTJ6tIkSIP9XPauHGjAgMDVbhwYf3yyy/q0qVLmu158uTRtm3bFBAQoKSkJM2bN0/Vq1dX8eLFrT+7lJQUdejQQXv37tXo0aP1008/6erVqzp9+rTCw8MlKc3PQZLGjBmj5557ThaLRcuWLXuocwAAAIBkstxrQisAAADgMTdlyhT17t1b+fPnv+fYa9euqXz58rp586acnZ3166+/Wq88/qe4uDi99dZb+uWXXzR9+nS9/vrrGR7vzjyyq1atSnPV7D+dP39ew4cP1+XLl9WnTx+1adPmrjcuu3btmt58801t27ZNLi4uCg0N1bPPPiuz2ayePXsqX758Gj58uPXGcWfOnNHw4cOtc/c2btxYP/zwQ5pj/vTTT+rXr59Gjhypdu3a3fP7BAAAgMwR2gIAAADZbNSoUYqLi9N//vMfPfvss2m2JSYmatWqVdqzZ49q1KihV1991To3bkby5Mmjp556SosWLdIzzzyTbvuGDRt0+fJlNWrUSKVLl76vOrdt26bQ0FAFBwdLSp2yIikpyRrW/tOff/6pwMBABQYG6vPPP9dTTz11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3LmaMmWKli1bJin1JktDhw7VgQMH9PnnnxPYAv8QEBCgw4cPW98keRAVK1bUuXPn0qw7d+6cXF1d011dCDxKTCaTmjRpom3btllvmBIYGKjz589r9erV1iuEMuqRs2fPqnjx4hneaOxunnjiCYWHh1s/Xgog6whtgazJ6DVb2bJl00xH92+Z/a6rWLGiJOngwYMymUzq0KGDtm3bpoCAAG3ZskVS6qdVevfurcDAQE2YMIHAFnAAhLYO7u+//9aTTz6p//znP7px44beffddff311/rmm2+sX99//729y4SdFCtWTDNnzpSfn581LIqNjbV+fCYxMVHTpk1T586dlTt3btWoUUNlypTRDz/8YD3G8uXL9eqrr6pYsWI6fvy4vv76a+u2QoUKydfXV1LqR7379u2rfv36KVeuXDY8S8D4WrduLUnW+cYk6fTp0/r555+zfIxWrVopKipKhw8ftq5btmyZ+vTpo9y5c2dbrYARNWvWTPPmzVPVqlUlpV5V9NJLL2nDhg3y9/eXlDrHc2hoqK5evWrdb/ny5RowYMB9P15AQIBq1aqlRYsWWdedPHny4U4CeAz873//0+jRo+1dBuBQ/vmarXjx4mratKk++OADxcXFSUp9/fbtt99Kkt555x1t3LjR+qZicnKyVq5caf1dt2jRIp09e1ZS6u/KAgUKWF+vxcbGau7cuapevbptTxDAA2N6BAd2+/ZtdenSRW3btlWfPn3k5OSkTZs2ycfHx3ql5JIlS9StW7c0N5bC46dRo0bauXOnJk2apDJlyujs2bP6/PPPdeLECQUGBmrkyJGSUq9mWrx4sSZPnqxjx44pJSVFt27d0pQpUyRJJUqUUHh4uCZOnKjk5GTduHFD48aNkyTrPEvA4+LcuXNauXKlbt68qbVr1yoxMVHt27dXUlKSPvvsMx04cEBms1nTp09Xr169tHr1an3wwQd66aWXVKZMGT377LPq27evLl68aP1DfMWKFcqVK5eSk5O1YsUKpaSkaObMmWrXrp18fX317bffasaMGSpevLhiY2Pl7e39UFMuAI6iVq1aKlasmCpVqmRd17RpU/3xxx/WZW9vb3399deaPHmySpUqpYiICL300kvq0KGDJGnLli3atWuXLl68qE8//VS9e/dWnjx5MuzB5557TvPmzdPQoUPVv39/PfHEE9YbCY4ZM0bt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",
      "text/plain": [
       "<Figure size 1400x800 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "\n",
    "def visualize_alignment():\n",
    "    \"\"\"可视化logits和labels的对齐关系\"\"\"\n",
    "    \n",
    "    plt.rcParams['font.family'] = ['Source Han Serif CN']\n",
    "    \n",
    "    fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(14, 8))\n",
    "    \n",
    "    # 示例数据\n",
    "    tokens = [\"<bos>\", \"Hello\", \"world\", \"!\", \"<eos>\"]\n",
    "    positions = list(range(len(tokens)))\n",
    "    \n",
    "    # 上图：输入序列和logits\n",
    "    ax1.set_title(\"输入序列 vs Logits输出\", fontsize=14, fontweight='bold')\n",
    "    \n",
    "    # 绘制输入token\n",
    "    for i, token in enumerate(tokens):\n",
    "        rect = patches.Rectangle((i, 0), 0.8, 0.5, linewidth=2, \n",
    "                               edgecolor='blue', facecolor='lightblue')\n",
    "        ax1.add_patch(rect)\n",
    "        ax1.text(i + 0.4, 0.25, token, ha='center', va='center', fontweight='bold')\n",
    "    \n",
    "    # 绘制logits输出（少一个）\n",
    "    for i in range(len(tokens) - 1):\n",
    "        rect = patches.Rectangle((i, -1), 0.8, 0.5, linewidth=2, \n",
    "                               edgecolor='red', facecolor='lightcoral')\n",
    "        ax1.add_patch(rect)\n",
    "        ax1.text(i + 0.4, -0.75, f\"logits[{i}]\", ha='center', va='center', fontweight='bold')\n",
    "        \n",
    "        # 绘制箭头表示预测关系\n",
    "        ax1.annotate('', xy=(i + 1.4, 0.1), xytext=(i + 0.4, -0.6),\n",
    "                    arrowprops=dict(arrowstyle='->', color='green', lw=2))\n",
    "    \n",
    "    ax1.set_xlim(-0.5, len(tokens) + 0.5)\n",
    "    ax1.set_ylim(-1.5, 1)\n",
    "    ax1.set_ylabel(\"层级\")\n",
    "    ax1.text(-0.3, 0.25, \"输入Token\", rotation=90, va='center', fontweight='bold')\n",
    "    ax1.text(-0.3, -0.75, \"Logits输出\", rotation=90, va='center', fontweight='bold')\n",
    "    ax1.set_xticks(positions)\n",
    "    ax1.set_xticklabels([f\"位置{i}\" for i in positions])\n",
    "    ax1.grid(True, alpha=0.3)\n",
    "    \n",
    "    # 下图：labels对齐\n",
    "    ax2.set_title(\"Labels对齐关系\", fontsize=14, fontweight='bold')\n",
    "    \n",
    "    # 绘制完整输入序列（参考）\n",
    "    for i, token in enumerate(tokens):\n",
    "        rect = patches.Rectangle((i, 0.5), 0.8, 0.3, linewidth=1, \n",
    "                               edgecolor='gray', facecolor='lightgray', alpha=0.5)\n",
    "        ax2.add_patch(rect)\n",
    "        ax2.text(i + 0.4, 0.65, token, ha='center', va='center', fontsize=10)\n",
    "    \n",
    "    # 绘制labels（从位置1开始）\n",
    "    for i in range(1, len(tokens)):\n",
    "        rect = patches.Rectangle((i-1, 0), 0.8, 0.4, linewidth=2, \n",
    "                               edgecolor='orange', facecolor='lightyellow')\n",
    "        ax2.add_patch(rect)\n",
    "        ax2.text(i-1 + 0.4, 0.2, tokens[i], ha='center', va='center', fontweight='bold')\n",
    "        \n",
    "        # 标注这是labels的哪个位置\n",
    "        ax2.text(i-1 + 0.4, -0.3, f\"labels[{i-1}]\", ha='center', va='center', \n",
    "                fontsize=9, style='italic')\n",
    "    \n",
    "    ax2.set_xlim(-0.5, len(tokens) + 0.5)\n",
    "    ax2.set_ylim(-0.5, 1)\n",
    "    ax2.set_ylabel(\"层级\")\n",
    "    ax2.text(-0.3, 0.65, \"原始输入\", rotation=90, va='center', fontsize=10)\n",
    "    ax2.text(-0.3, 0.2, \"Labels\", rotation=90, va='center', fontweight='bold')\n",
    "    ax2.set_xticks(positions)\n",
    "    ax2.set_xticklabels([f\"位置{i}\" for i in positions])\n",
    "    ax2.grid(True, alpha=0.3)\n",
    "    \n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "\n",
    "# 运行可视化\n",
    "visualize_alignment()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "a12d53cd-e361-4157-999d-f1b4d9597c1d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "🔍 你的代码分析\n",
      "==================================================\n",
      "📊 原始logits: torch.Size([2, 6, 1000])\n",
      "   含义: 每个位置对所有vocab的预测分数\n",
      "📊 prediction_logits: torch.Size([2, 5, 1000])\n",
      "   含义: 用于预测的logits（最后位置无需预测）\n",
      "📊 input_ids: torch.Size([2, 6])\n",
      "   含义: 完整的输入token序列\n",
      "📊 labels: torch.Size([2, 5])\n",
      "   含义: 预测目标（去掉第一个token）\n",
      "\n",
      "🎯 对应关系:\n",
      "   logits[i] 预测 labels[i]\n",
      "   logits[0] 预测 labels[0] (即input_ids[1])\n",
      "   logits[1] 预测 labels[1] (即input_ids[2])\n",
      "   ...\n",
      "   logits[4] 预测 labels[4] (即input_ids[5])\n",
      "\n",
      "📊 logp: torch.Size([2, 5, 1000])\n",
      "   含义: 每个位置的对数概率分布\n",
      "📊 selected_logp: torch.Size([2, 5])\n",
      "   含义: 每个位置实际token的对数概率\n",
      "\n",
      "✨ 总结:\n",
      "   - logits[:, :-1, :]: 去掉最后位置，因为它没有下一个token可预测\n",
      "   - labels = input_ids[:, 1:]: 去掉第一个token，因为它不是任何位置的预测目标\n",
      "   - 这样确保了 logits[i] 对应预测 labels[i]\n"
     ]
    }
   ],
   "source": [
    "def explain_your_code():\n",
    "    \"\"\"解释你的代码中的具体操作\"\"\"\n",
    "    \n",
    "    print(\"🔍 你的代码分析\")\n",
    "    print(\"=\"*50)\n",
    "    \n",
    "    # 模拟你的数据\n",
    "    batch_size, seq_len, vocab_size = 2, 6, 1000\n",
    "    \n",
    "    # 1. 模型输出\n",
    "    logits = torch.randn(batch_size, seq_len, vocab_size)\n",
    "    print(f\"📊 原始logits: {logits.shape}\")\n",
    "    print(f\"   含义: 每个位置对所有vocab的预测分数\")\n",
    "    \n",
    "    # 2. 去掉最后一个位置的logits\n",
    "    prediction_logits = logits[:, :-1, :]\n",
    "    print(f\"📊 prediction_logits: {prediction_logits.shape}\")\n",
    "    print(f\"   含义: 用于预测的logits（最后位置无需预测）\")\n",
    "    \n",
    "    # 3. 输入序列\n",
    "    input_ids = torch.randint(0, vocab_size, (batch_size, seq_len))\n",
    "    print(f\"📊 input_ids: {input_ids.shape}\")\n",
    "    print(f\"   含义: 完整的输入token序列\")\n",
    "    \n",
    "    # 4. 标签（预测目标）\n",
    "    labels = input_ids[:, 1:]\n",
    "    print(f\"📊 labels: {labels.shape}\")\n",
    "    print(f\"   含义: 预测目标（去掉第一个token）\")\n",
    "    \n",
    "    print(f\"\\n🎯 对应关系:\")\n",
    "    print(f\"   logits[i] 预测 labels[i]\")\n",
    "    print(f\"   logits[0] 预测 labels[0] (即input_ids[1])\")\n",
    "    print(f\"   logits[1] 预测 labels[1] (即input_ids[2])\")\n",
    "    print(f\"   ...\")\n",
    "    print(f\"   logits[{seq_len-2}] 预测 labels[{seq_len-2}] (即input_ids[{seq_len-1}])\")\n",
    "    \n",
    "    # 5. 转换为对数概率\n",
    "    logp = torch.nn.functional.log_softmax(prediction_logits, dim=-1)\n",
    "    print(f\"\\n📊 logp: {logp.shape}\")\n",
    "    print(f\"   含义: 每个位置的对数概率分布\")\n",
    "    \n",
    "    # 6. 提取实际token的概率\n",
    "    selected_logp = torch.gather(logp, 2, labels.unsqueeze(-1)).squeeze(-1)\n",
    "    print(f\"📊 selected_logp: {selected_logp.shape}\")\n",
    "    print(f\"   含义: 每个位置实际token的对数概率\")\n",
    "    \n",
    "    print(f\"\\n✨ 总结:\")\n",
    "    print(f\"   - logits[:, :-1, :]: 去掉最后位置，因为它没有下一个token可预测\")\n",
    "    print(f\"   - labels = input_ids[:, 1:]: 去掉第一个token，因为它不是任何位置的预测目标\")\n",
    "    print(f\"   - 这样确保了 logits[i] 对应预测 labels[i]\")\n",
    "\n",
    "# 运行解释\n",
    "explain_your_code()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "433a3924-cb83-4e9b-8bcc-420895fa9341",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
